﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Data;

namespace AvaProvi
{
    class clsAreaComun_CD
    {
        private dsTerreno dsTerreno;
        private dsTerrenoTableAdapters.AreasComunesTableAdapter TAAreasComunes;

        public clsAreaComun_CD()
        {
            this.dsTerreno = new dsTerreno();
            this.dsTerreno.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            this.dsTerreno.DataSetName = "dsTerreno";

            this.TAAreasComunes = new AvaProvi.dsTerrenoTableAdapters.AreasComunesTableAdapter();
            this.TAAreasComunes.ClearBeforeFill = true;
            //Falta cadena de conexion
        }

        public BindingList<dsTerreno.AreasComunesRow> RecuperaAreasComunesDeAvaluo(int IDAvaluo)
        {
            BindingList<dsTerreno.AreasComunesRow> blAreas = new BindingList<dsTerreno.AreasComunesRow>();
            TAAreasComunes.RecuperaAreasComunesDeTerreno(this.dsTerreno.AreasComunes, IDAvaluo);
            foreach (dsTerreno.AreasComunesRow filaArea in this.dsTerreno.AreasComunes)
            {
                blAreas.Add(filaArea);
            }
            return blAreas;
        }

        public bool CreaAreaComun(clsAreaComun_CRN objArea)
        {
            int RegistrosAfectados = TAAreasComunes.NuevaAreaComun(
                objArea.Descripcion,
                objArea.Cantidad,
                objArea.Unidad,
                objArea.VRNm2,
                objArea.Demerito,
                objArea.Terreno.Inmueble.Avaluo.IdAvaluo,
                objArea.Indiviso);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ActualizaAreaComun(clsAreaComun_CRN objArea)
        {
            int RegistrosAfectados = TAAreasComunes.ActualizaArea(
                objArea.Descripcion,
                objArea.Cantidad,
                objArea.Unidad,
                objArea.VRNm2,
                objArea.Demerito,
                objArea.Indiviso,
                objArea.IDArea,
                objArea.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaAreaComun(clsAreaComun_CRN objArea)
        {
            int RegistrosAfectados = TAAreasComunes.EliminaAreaComun(
                objArea.IDArea,
                objArea.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
